package com.mgm.affiliate.service;

import java.util.List;
import java.util.Map;

import com.mgm.page.DataGrid;
import com.mgm.pojo.Affiliate;
import com.mgm.result.IMessage;

/**
 * 
 * @ClassName: AffiliateService 
 * @Description: TODO(...) 
 * @author Andy Zhang
 * @date 2018年6月28日 下午8:52:25 
 *
 */
public interface AffiliateService {

	// 增加渠道
	IMessage addAffiliate(Affiliate affiliate);

	// 删除渠道
	IMessage deleteAffiliate(Affiliate affiliate);

	// 批量删除渠道
	IMessage deleteById(List<Integer> ids);

	// 修改渠道
	IMessage updateAffiliate(Affiliate affiliate);

	// 是否启用渠道
	IMessage isEnabled(Integer id, Boolean enabled);
	
	// 修改渠道溢价
	IMessage modifyShave(Integer id, Integer shave);
	
	// 还原渠道溢价
	IMessage modifyInitialShave(Integer id);
	
	// 根据ID获取渠道
	Affiliate selectById(Integer id);

	// 查询开启的渠道
	List<Affiliate> findAllByEnabled();

	// 分页查询
	DataGrid findAll(Map<String, String> param, Integer pageNum, Integer pageSize);

	// 根据渠道名查询
	List<Affiliate> findByName(String name);
	
	IMessage findByAffId(String affId, String token);
	
	Affiliate findByAffId(String affId);

}
